草庐IT

javascript - Angularjs: Controller 被多次调用

全部标签

ruby-on-rails - 在 JavaScript 中访问 c​​urrent_user 帮助程序

我在/assets/javascripts/globals.js.erb中使用Rails3.2.13和JavaScript。无论如何访问JavaScript文件中的Rails助手或Controller数据?像...varApp={globals:{user:{name:''}}}; 最佳答案 你不能那样做。Assets在生产中编译一次,因此它不应该依赖于请求的状态(比如当前用户,或传递给请求的参数)。您可以做的最接近的事情是在您的应用程序布局中添加一个全局变量App.globals.user.name=

ruby-on-rails - 在哪里放置不是模型、 View 、 Controller 或助手的 Rails 代码?

我想在我的Rails应用程序中的多个Controller之间共享与View无关的代码。我应该将它放在目录结构中的什么位置?编辑:有问题的代码是否所有Controller都使用某些东西来确定如何它们呈现模型数据 最佳答案 如果代码类似于具有实用方法的模块,则可以将这些代码放在lib文件夹中。或者,您可以为某些Controller创建一个通用的父类(superclass),如果它们共享行为的话。请发布您正在考虑的代码类型的示例。 关于ruby-on-rails-在哪里放置不是模型、View、

ruby-on-rails - ruby rails : why do i get message for javascript and css after rails s?

railss=>StartedGET"/assets/application.css?body=1"for127.0.0.1at2011-10-1103:37:03-0900Servedasset/application.css-304NotModified(0ms)StartedGET"/assets/home.css?body=1"for127.0.0.1at2011-10-1103:37:03-0900Servedasset/home.css-304NotModified(0ms)StartedGET"/assets/jquery_ujs.js?body=1"for127.0.0

ruby-on-rails - 查看哪个 Rails Controller /模型正在为页面提供服务的方式?

这可能是一个有点奇怪的问题,但我想知道是否有人知道Rails快捷方式/系统变量或可以让我跟踪哪个Controller正在为页面提供服务以及该Controller调用了哪个模型的东西。显然,我正在构建应用程序,所以我知道,但我想制作一个更通用的插件,能够追溯获取这些数据,而无需手动检查它。有什么简单的快捷方式吗? 最佳答案 Controller和Action在params中定义为params[:controller]和params[:action]但没有占位符“模型”作为Controller方法可能会创建许多模型实例。如果需要,您可能

ruby - "dyld: Library not loaded", "libruby.1.9.1.dylib"在命令行调用"mvim ."时

我正在尝试使用“mvim”将我的Rails项目打开到mvim(macvim)中。但我收到以下错误。➜cs193pgit:(master)mvim.dyld:Librarynotloaded:/Users/myusername/.rvm/rubies/ruby-1.9.3-p125/lib/libruby.1.9.1.dylibReferencedfrom:/usr/local/Cellar/macvim/7.3-64/MacVim.app/Contents/MacOS/VimReason:imagenotfound[1]85219tracetrapmvim.➜cs193pgit:(ma

ruby - Rails 3.2 中的 DRY Controller

在代码气候分析之后,我发现我的Controller并不像它可能的那样干燥。方法如下:defindex@animals=current_user.animals.valid_animals.search(params[:search],params[:page])respond_todo|format|format.html#index.html.erbformat.json{renderjson:@animals}endend在所有的controller中基本都是一样的。基本上,scaffoldrails生成的代码在所有Controller中都是“相同的”。我怎样才能以真正好的方式使它

ruby-on-rails - Rails 4 + Rspec + 设计 : undefined method 'env' in controller specs for sign_in a user

在我的spec_helper.rb中我添加了config.includeDevise::TestHelpers,:type=>:controller在:allhook之前的Controller规范中,我正在尝试使用此代码登录用户@request.env["devise.mapping"]=Devise.mappings[:user]user=FactoryGirl.create(:confirmed_user)sign_inuser并得到NoMethodError:undefinedmethod`env'fornil:NilClass。有什么想法吗? 最佳答

ruby-on-rails - 记录 Rails 应用程序中的所有方法调用

有没有一种简单的方法可以记录Rails应用中的所有方法调用?我对此的主要用途是测试(和调试测试)。我希望拥有比堆栈跟踪提供的更多的历史记录(例如,在使用“-b”选项运行rspec时)。 最佳答案 这很容易做到。只需将5行代码添加到您的脚本/服务器中:#!/usr/bin/envrubyset_trace_funcproc{|event,file,line,id,binding,classname|ifevent=="call"orevent=="return"printf"%8s%s:%-2d%10s%8s\n",event,fil

ruby - 配置 RSpec 以将 Capybara.javascript_driver 用于所有请求规范

是否可以全局配置RSpec以对所有请求规范使用Capybara的(默认或自定义)JavaScript驱动程序?我们有时会忘记手动将js:true添加到每个请求规范中,这有点烦人。 最佳答案 在spec_helper.rb中,设置以下内容:config.before(:each)doifexample.metadata[:type]==:requestCapybara.current_driver=:selenium#orequivalentjavascriptdriveryouareusingelseCapybara.use_def

ruby - 当通过 Rake 测试运行时,Minitest #setup 和 #teardown 不会被调用

我有一个MiniTest套件。我使用的是基本的Minitest::Unit::TestCase,而不是规范。我在我的TestCase子类中定义了setup和teardown方法。当我像这样运行测试文件时,它们可以完美运行:rubytest/whatever_test.rb。但是当我运行raketest时,setup和teardown没有被调用。我的Rakefile的相关部分是:require'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']t.verbose=trueend为什么在使